package ar.unlam.com.cliente;

import java.util.ArrayList;

import javax.swing.DefaultListModel;

import model.Notificacion;
import model.Usuario;

public class HiloActualizarPChat extends Thread {
	private static final long INTERVAL = 3 * 1000;
	private ClienteChat llamador;
	
	public HiloActualizarPChat(ClienteChat clienteChat) {
		this.llamador = clienteChat;
	}
	
	public void run(){
		try{
		while(true){
				if(this.llamador.getPantallaChat().getFrame().isVisible()){
					ArrayList<Usuario> lista = this.llamador.buscarAmigos();
					DefaultListModel<Usuario> lm = (DefaultListModel<Usuario>) this.llamador.getPantallaChat().getChatAmigosList().getModel();
					lm.clear();
					
					this.llamador.getPantallaPrincipal().getListaAmigos().setVisible(false);
					ClienteChat.usuario.setAmigos(lista);
								
					for(Usuario u:lista){
						lm.addElement(u);
					}
					
					this.llamador.getPantallaPrincipal().getListaAmigos().setVisible(true);
	
					ArrayList<Notificacion> listN = this.llamador.buscarNotificaciones();
					DefaultListModel<Notificacion> lmN = this.llamador.getPantallaPrincipal().getModelListaNotificaciones();		
					this.llamador.getPantallaPrincipal().getListaNotificaciones().setVisible(false);
					lmN.clear();
					for(Notificacion u:listN)
						lmN.addElement(u);
					this.llamador.getPantallaPrincipal().getListaNotificaciones().setVisible(true);
					Thread.sleep(INTERVAL);
				}
			}
		}catch(NullPointerException | InterruptedException e){
		}
	}

}
